perm filename R1300.ART[ESS,JMC] blob sn#005563 filedate 1972-05-07 generic text, type T, neo UTF8
00100	ROBOTS
00200	
00300	
00400		A robot is an artificial intelligent being usually considered
00500	to have human form.  The idea of making a robot by magic is  ancient,
00600	and  the  idea  of  making one by science goes back to Mary Shelley's
00700	"Frankenstein, or the Modern Prometheus" in 1818.  The  word  "robot"
00800	from  the  Czech  word for work was introduced in a play R.U.R.    by
00900	Karel Capek in 1920, and robots are popular in science fiction.
01000	
01100		Mechanisms that imitate some of the functions  of  humans  or
01200	animals  have  been constructed for several hundred years, but a real
01300	robot must have two properties that were not  really  feasible  until
01400	the stored program digital computer was developed in the late 1940's.
01500	These are sensory input from the outside world so that the  machine's
01600	actions will take the world into account and an internal model of the
01700	outside world, the machine's goals, and the laws that  determine  the
01800	effects  of  the actions the machine may undertake.  The pre computer
01900	automata, while sometimes very elaborate,  essentially  went  through
02000	fixed, built-in sequences of actions.
02100	
02200		The   first   modern   discussion  of  the  possibilities  of
02300	intelligent machines was by the British mathematician Alan Turing  in
02400	1950.   Turing was well fitted for this, because in 1936 he had shown
02500	the existence of universal computational machines and had also  taken
02600	part  in  the design of early computers.   (A universal computational
02700	machine can do any computation that  can  be  done  by  any  machine,
02800	because  it  can  use  a description of the other machine in order to
02900	imitate it.   All present computers are universal.) Turing's  article
03000	accomplished three things:
03100	
03200		1.    It set forth as a sufficient criterion for intelligence
03300	the ability to imitate a human over a teletype line.  This  clarified
03400	Turing's  argument with people who argued that a machine could not be
03500	intelligent because it does what it is told.
03600	
03700		2. It established that  the  difficult  problem  is  not  the
03800	construction of the robot or the computer, but programming it.  It is
03900	possible to use any stored program digital computer, and the  problem
04000	is  to  make  up  the  rules  that  determine  how it will act in any
04100	situation.  These rules have to be understood very precisely in order
04200	to  express  them  as a computer program. The rules must also be very
04300	general, because the programmer cannot provide for the details of the
04400	situations that will come up.
04500	
04600		3.    It proposed the problems of making programs for playing
04700	chess and proving mathematical theorems as major goals  for  research
04800	in  artificial  intelligence, giving reasons why these are worthwhile
04900	problems and some ideas for getting started.
05000	
05100		Since  Turing's  time,  artificial  intelligence  has  slowly
05200	developed  into  an important scientific field with numerous branches
05300	and with numerous ideas of what the fundamental problems are. To save
05400	the  reader  suspense,  let  me first admit that we don't have really
05500	intelligent robots yet.     In fact,  as  we  shall  see,  there  are
05600	fundamental   scientific   problems  to  be  solved  and  maybe  even
05700	formulated.  I am rather confident, however, that it will be possible
05800	to  write  computer  programs  as smart as people no sooner than five
05900	years hence and no later than 500 years hence.  However, before going
06000	into  details  about what has been accomplished and what the problems
06100	are, it is worthwhile  to  consider  the  science  fiction  ideas  of
06200	robots,  since  most of us have gotten our first ideas of robots from
06300	science fiction.
06400	
06500		First, while an author sometimes simply wants to tell us what
06600	he  thinks  the future will be like, usually he has some other theme.
06700	Sometimes, he is simply writing an adventure  story.        Then  the
06800	robots often help provide the conflict by trying to conquer the world
06900	on their own behalf or on behalf of their makers.  There may be  both
07000	good robots and bad robots in the story.  Another common theme is the
07100	robot as the oppressed class or race.   They  may  revolt  or  suffer
07200	helplessly  and pathetically or be liberated by some analogy of equal
07300	races living in harmony.  In any case, the robots are given  as  many
07400	human  motivational,  emotional,  social,  or political attributes as
07500	will suit the author's purpose. Another theme is that of  King  Midas
07600	in which an apparent good thing is fated to turn out badly.
07700	
07800		One  of  the  more  popular science fiction concepts is Isaac
07900	Asimov's three laws of robotics which require that  a  robot  protect
08000	man,  protect  itself,  and  carry  out  its  orders in that order of
08100	priority.    Some of Asimov's plots  hinge  on  complexities  in  the
08200	interpretation  of these laws in particular cases leading to neurotic
08300	behavior of the robot.  Asimov portrays these laws as built into  the
08400	"positronic  brain",  but  clearly they resemble legal laws more than
08500	natural laws; in these stories Asimov ignores  the  possibility  that
08600	the  robot  may  do  harm  because  its  conception  of  the world is
08700	inadequate to determine the consequences of a proposed action.
08800	
08900		Some other sources of unreality are:       Writers  generally
09000	depict worlds with one or two forms of artificial intelligence; there
09100	are likely to be many.         It is  very  difficult  to  depict  an
09200	intelligence  greater  than  one's  own,  and it is also difficult to
09300	depict a large scale human effort in a meaningful way.      Thus  the
09400	Apollo  moon landing involved hundreds of thousands of people over an
09500	eight year period; the typical pre-Sputnik  depiction  of  the  first
09600	moon landing involved an effort of a few individuals.
09700	
09800		All  this  is  not  intended to show that the science fiction
09900	ideas of robots are totally worthless.  We may  get  from  them  some
10000	ideas of opportunities to be exploited and problems to be avoided. As
10100	I see it, the real development of artificial intelligence  is  likely
10200	to differ from the science fictional in the following ways:
10300	
10400		1.       It is unlikely that there will be a prolonged period
10500	during which it will be possible to build machines as intelligent  as
10600	humans  but  impossible to build them much smarter.  If one can put a
10700	machine capable of human behavior in a metal skull,  one  can  put  a
10800	machine  capable  of  acting  like  10,000  co-ordinated  people in a
10900	building.  This alone kills most of the robot stories.
11000	
11100		2.  The present stock of ideas is inadequate to make programs
11200	as intelligent as people even if these ideas are developed diligently
11300	over a long time.  They may even be inadequate to make a  program  as
11400	intelligent  as  a  dog.       On the other hand, there is nothing to
11500	preclude the required new ideas coming very soon.  It may  take  five
11600	years, and it may take five hundred.
11700	
11800		3.    Present ideas are probably good enough to make possible
11900	many extensions of human ability to have large amounts of information
12000	at  one's  fingertips,  to check long trains of reasoning and even to
12100	generate simple hypotheses.
12200	
12300		4.  There are several policies societies might  take  towards
12400	artificial intelligence.  a. Put off any decision until it seems more
12500	iminent.   b.  Suppress it.  c. Use it unrestrictedly. d.  Make it as
12600	powerful  as possible, but control its application.   e. Regard AI or
12700	some merger of human and artificial intelligence as a  next  step  in
12800	evolution.
12900	
13000		5.    To determine the effects of the different policies that
13100	might be adopted is quite difficult now.    Better  understanding  of
13200	both  AI and human society is needed for correct decisions.  In fact,
13300	if one had a substantial artificial intelligence, the first  question
13400	to  ask  it  would  be  to  show us in as much detail as possible the
13500	consequences of each of the policies that might be adopted concerning
13600	its application.
13700	
13800		Before  cooking rabbit stew, one must first catch the rabbit.
13900	How far along  are  we  in  developing  artificial  intelligence  and
14000	robotics?
14100	
14200		Not very far, but some progress has been made.
14300	
14400		Artificial intelligence may be divided into three sub-topics:
14500	heuristics, representation theory and robotics.
14600	
14700		Heuristics is concerned with the search for a solution  to  a
14800	problem among a collection of alternatives.  Representation theory is
14900	concerned with the structure of the information a computer program or
15000	a  person  may  have  about  the  world,  the  facts that allow it to
15100	determine the effects of the actions it may  take,  and  the  methods
15200	available  for  getting more information.  Robotics is concerned with
15300	the perception and action in the physical world.
15400	
15500		The most developed of these subjects is heuristics.  There is
15600	some  general  theory concerned with good methods of searching spaces
15700	of alternatives, but most of our insight into where we stand compared
15800	to  human  intelligence  comes  from  comparing  the  performance  of
15900	computer programs in playing games and proving mathematical  theorems
16000	with human performance.
16100	
16200		The  most  studied  game has been chess.   The best result in
16300	comparison with human play  was  achieved  several  years  ago  by  a
16400	program  written  by Richard Greenblatt of M.I.T.  His program played
16500	class C chess at that time.  In fact, it won its class  C  rating  by
16600	winning  the  class D trophy in a regular chess tournament in Boston.
16700	(Chess players have been quite hospitable  to  computer  programs  so
16800	far, but as the above results show, they aren't much challenged yet).
16900	For the last few years, there has been a computer chess tournament in
17000	connection  with  the annual meeting of the Association for Computing
17100	Machinery.   The current champion at this  tournament  is  a  program
17200	written at Northwestern University.
17300	
17400		This  performance  is  quite  modest  considering  that these
17500	programs are capable  of  examining  several  hundred  positions  per
17600	second  on  present  day computers.  However, even these results have
17700	been achieved with a great deal of effort, and the  earlier  programs
17800	were much worse.  Part of the progress has involved the incorporation
17900	of specific knowledge about chess, but the  major  defects  in  early
18000	programs  can  better be described as coming from leaving out aspects
18100	of general human intelligence that are rather obvious once  they  are
18200	pointed  out.    Moreover, the weaknesses of present programs seem to
18300	come from lack of general intelligence  rather  than  lack  of  chess
18400	knowledge.        This is confirmed by the fact that programs written
18500	under the direction of chess grandmasters have not done  as  well  as
18600	those written by people interested in heuristic programming.
18700	
18800		In  order  to see what a few of these intellectual mechanisms
18900	are, consider how chess programs work.  They all  work  by  exploring
19000	the  so-called  move  tree  of  the game.  In an initial position the
19100	machine has a number of moves which can be regarded as  the  branches
19200	of  a tree.       Each move leads to a position in which the opponent
19300	has a number of moves which gives another level of  branches  of  the
19400	tree,  and  so  on.   Ultimately, the branching stops at positions in
19500	which the game is over either because one player one or a  recognized
19600	draw  position  has  been  reached  or  because 50 moves have elapsed
19700	without a capture or a pawn move.   It  would  be  easy  to  write  a
19800	computer  program  that would play perfect chess by examining all the
19900	positions on the move tree.   The program would be  smaller  and  use
20000	less  storage  than present chess programs.  The only problem is that
20100	it would take too long to move, because the full move tree  is  quite
20200	large.     In  fact,  if  every  electron  in the universe visible to
20300	astronomers were a computer that could examine a position in the time
20400	it  takes  light  to cross an electron, then the time remaining until
20500	the stars dissipate their energy would not suffice to  determine  the
20600	best first move in chess.
20700	
20800		Therefore,  programs  look  only  at a small part of the move
20900	tree, and the program's level of play depends critically on the rules
21000	that  determine  what  positions are examined.   Most programs do not
21100	consider all possible moves even at the initial level.  An effort  is
21200	made to consider only moves that may contribute to some goal, and for
21300	each possible goal programs are written that generate moves that  may
21400	contribute  to  it.  Goals included in typical programs are attacking
21500	the opponent's king, defending one's own, winning material, getting a
21600	good  development,  getting  a  good  pawn  structure, disrupting the
21700	opponent's pawn structure, etc.  In order to prevent the program from
21800	going  deeper and deeper there are stop rules.  In general, one tries
21900	to stop the analysis at quiescent positions  that  can  be  evaluated
22000	without  further look-ahead.  Besides this, it pays to set an initial
22100	level of aspiration that changes as the analysis proceeds and to stop
22200	the  analysis  of positions that clearly cannot lead to reaching this
22300	level.    It also pays to keep a level of aspiration for the opponent
22400	based on the alternatives that have already been examined for him.
22500	
22600		When  a  chess program makes a bad move in a position, we can
22700	make it print out the tree of moves it has examined in  reaching  its
22800	decision.     It usually turns out that the trouble comes from it not
22900	having examined an important move, either its own or its  opponent's.
23000	This  is  much  more  common than having examined the right moves but
23100	mis-evaluating a quiescent position.  On  the  other  hand,  it  will
23200	usually  have  spent  much time examining moves that strike the human
23300	player as not worth looking at.
23400	
23500		When we find that the program has failed to look at a line of
23600	play  that  a  human  would look at, this is usually readily fixed by
23700	finding a new principle for looking at  moves.      Of  course,  this
23800	principle  may make us look at moves a human would ignore.    This is
23900	all  right  provided  it  doesn't  make  us  waste  too  much   time.
24000	Unfortunately,  this  often  happens, and it is much harder to devise
24100	principles that will allow us to ignore moves safely.
24200	
24300		There are several aspects of human game playing  that  no-one
24400	has yet been able to make computers do satisfactorily.  First of all,
24500	a human will often break a position down into several  sub-positions,
24600	analyze  them separately, and then combine the analyses.     There is
24700	still not any good way  of  programming  the  identification  of  the
24800	sub-positions.  Secondly, a move often has properties that apply to a
24900	whole class of positions; thus an opponent's  move  may  capture  our
25000	queen in a all the positions resulting from moves of ours that do not
25100	move the threatened queen. Thirdly, we do not yet have a  system  for
25200	recognizing  that  an  aspect  of a position is one we have a general
25300	rule for; thus no present  chess  program  can  be  instructed  about
25400	smother  mates  in any general way let alone develop the concept from
25500	its experience.
25600	
25700		In a few board games, computer programs play better than  the
25800	best  human  players.  Such  a  game is Kalah, an American commercial
25900	version of a game played in Africa and Asia.  A  program  written  at
26000	M.I.T.  and  Stanford  for a now defunct computer beat any players we
26100	were able  to  find.  In  general,  these  are  games  in  which  the
26200	intellectual mechanisms we know how to program such as look-ahead and
26300	evaluation are adequate for successful play. On the  other  hand,  if
26400	the  game  positions  have strategic features that persist throughout
26500	the game, present programs do badly, because no-one yet knows how  to
26600	program  strategic  play  well.    No one game gives scope to all our
26700	human intellectual mechanisms.
26800	
26900		The other  area  to  which  heuristic  programming  has  been
27000	extensively  applied is proving mathematical theorems.    The results
27100	are similar to the game playing results but not as good.   A  certain
27200	collection  of  intellectual  mechanisms  have  been  identified  and
27300	programmed.       In domains of mathematics where they are  adequate,
27400	the  programs  do  rather  well.    Unfortunately, the scope of these
27500	mechanisms is still very narrow compared to mathematics as a whole.
27600	
27700	
27800	THE PROBLEM OF REPRESENTATION
27900	
28000		The efforts to make game playing and theorem proving programs
28100	have led to the identification of important  intellectual  mechanisms
28200	of general significance, but the programs themselves are quite narrow
28300	in their capability.   Therefore, considerable effort has  also  gone
28400	into  trying to make programs of general intellectual capability, and
28500	there is much controversy on how best to do this.
28600	
28700		One approach, which was tried in the late fifties  and  early
28800	sixties,  involved  simulation  of  evolution  by having a machine or
28900	computer program that gave answers to problems.      The  machine  or
29000	program   was  divided  into  parts  and  each  part  had  a  certain
29100	probability of being changed at each time.  When a problem was solved
29200	correctly, the parts that operated in the correct run were "rewarded"
29300	by having their probability of change reduced, and when an  incorrect
29400	answer was given the active parts were "punished" analogously.  Other
29500	schemes kept the  same  parts  but  altered  their  probabilities  of
29600	activation  according  to their success.  When applied to problems of
29700	pattern classification such as identifying the letter of the alphabet
29800	a  picture  showed,  these schemes had some success, but none of them
29900	turned out to  be  capable  of  learning  any  generally  intelligent
30000	behavior.    The problem is that in the schemes used for representing
30100	behavior, it didn't turn out that meaningful changes of behavior were
30200	represented by small changes in the representation.
30300	
30400		Another  approach  to  general  intelligence  was the General
30500	Problem Solver of Newell and Simon.  This  involved  representing  an
30600	arbitrary  problem as one of transforming one expression into another
30700	via  intermediate  expressions  using  certain   allowed   rules   of
30800	transformation.     A  number of problems were put into this form and
30900	solved by the General Problem Solver, and the results  were  compared
31000	with the records of sessions in which humans solved the problems.  In
31100	the end, however, the General Problem Solver wasn't  general  enough.
31200	In  particular,  their  goal of representing the problem of improving
31300	GPS as a GPS problem easy enough for GPS to make some progress on was
31400	not achieved.
31500	
31600		A third approach involves the use of mathematical logic.   In
31700	the middle of  the  nineteenth  century,  the  English  mathematician
31800	George   Boole  began  the  development  of  a  formal  language  for
31900	expressing mathematical ideas.    This development was  continued  by
32000	such  mathematicians as Gottlob Frege and Bertrand Russell.   When we
32100	say a language is formal, we have three properties in mind: Effective
32200	rules  are  given  that determine which strings of letters and digits
32300	and special characters are supposed to be sentences in the  language.
32400	Effective  rules  are  given  that determine when a sentence is to be
32500	regarded as an immediate consequence of several others.  Finally,  if
32600	the language is to refer to something outside itself, some rules have
32700	to be given in English that tell what the  objects  of  the  language
32800	refer  to.       The  concept  of  "effective  rule" used here by the
32900	mathematical logicians turns out to be  the  same  as  "checkable  by
33000	computer".
33100	
33200		Just  as  present  electronic  computers are universal in the
33300	sense that any computation doable on any machine can  be  done  on  a
33400	universal machine, so the so-called first order logic is universal in
33500	that any effective system can be described in first order logic.   Of
33600	course, this description may be quite cumbersome.
33700	
33800		The  use  of logic in artificial intelligence is in principle
33900	quite straightforward.  The idea is to express what human beings know
34000	about the world in general and about particular situations in logical
34100	form.  It is especially important to be able to express what is known
34200	about  the effects of actions people may take and what is known about
34300	the future consequences of a present state of affairs.  If  this  has
34400	been done, then the fact that a certain course of action will achieve
34500	a prescribed goal should follow from the aforementioned set of facts.
34600	Suppose  we  have a logical system and a particular set of facts such
34700	that it follows from these facts that a certain goal can be  achieved
34800	by  a  certain  course of action.  We still need a program that given
34900	the facts can find the course of action and deduce that it will  win.
35000	Different  programs  will have different capabilities, and no program
35100	will be able to achieve all goals whose  achievability  follows  from
35200	the facts.
35300	
35400		Therefore, the use of logical formalism splits the AI problem
35500	into two parts: the problem of representing the facts  in  a  logical
35600	system and the problem of finding out what to do given the facts. The
35700	latter problem is  a  problem  in  heuristics  as  described  in  the
35800	previous section.  The representation problem has much in common with
35900	the branch of philosophy called epistemology which is concerned  with
36000	what  knowledge  is  and  what its limits are.   It is also connected
36100	with  philosophical  logic  which  is  concerned  with   the   formal
36200	description of concepts like ability, causality, and knowledge.
36300	
36400	
36500	ROBOTICS
36600	
36700		Putting all  this  together,  what  progress  has  been  made
36800	towards  making a mechanical man that will clank about and either try
36900	to conquer the world or suffer oppression from the prejudiced?
37000	
37100		Consider first the hardware situation.      There  isn't  any
37200	mechanical man with two legs, two arms, two eyes, and a brain.  It is
37300	not certain that present day mechanical engineering could package the
37400	necessary motors, joints, etc. in a frame light enough to be moved by
37500	the motors. At any rate no-one has tried.  There are, however, a  lot
37600	of  parts.   Specifically, to computers have been attached artificial
37700	arms, television cameras, microphones, and radio and  TV  connections
37800	to  vehicles  that can roll around on the floor.   The computers used
37900	have  been  large  ones,  weighing  many  tons,  but  suitable  small
38000	computers  used  for aerospace applications exist.  However, they are
38100	very expensive and not as convenient to  use  as  a  good  laboratory
38200	time-shared computer.
38300	
38400		However,  the  main  bottleneck  is  not the hardware but the
38500	programming, and within programming the most immediate bottleneck  is
38600	programming  vision.     When  a  television  camera is attached to a
38700	computer the computer can read a  frame  from  the  camera  into  its
38800	memory.     The picture is then represented by about 500x500 = 250000
38900	numbers each giving the brightness of a point in the  picture.     If
39000	color  is  wanted,  three frames can be taken, through red, green and
39100	blue filters.  At this point the picture is in the computer as can be
39200	verified  by  printing  it out again or displaying it on a TV monitor
39300	connected to the computer.    In fact, pictures can  be  improved  by
39400	computer  processing  more  flexibly than in a darkroom.     This has
39500	proved quite useful in connection with the pictures transmitted  from
39600	the  vicinity  of Mars by the Mariner spacecraft.   The processing is
39700	used to eliminate noise,  improve  contrast  and  transform  pictures
39800	taken  from  different  directions to a common direction and scale so
39900	that the pictures can be compared to look for changes.
40000	
40100		None of these operations  require  the  computer  program  to
40200	identify  and  locate  the  objects  in the picture.   Now consider a
40300	computer program that will build an object out of parts.   There  are
40400	several levels at which this may be done.
40500	
40600		1.   The parts come mounted and oriented precisely on a belt.
40700	The arm goes through a fixed sequence  of  predetermined  motions  in
40800	order to pick up each part and place it.  Fasteners such as bolts and
40900	welding are also used, but also with  precise  motions.     This  was
41000	introduced  in  the  late 1960's by two American firms, and there are
41100	now several hundred such arms in use.  In particular, the new General
41200	Motors  plant  for  producing  Vega cars at Lordstown, Ohio uses many
41300	such manipulators, but even there they do only a small  part  of  the
41400	work  of  putting  together  a car.  Such "robots" ordinarily are not
41500	directly computer controlled. Instead they are controlled by  a  tape
41600	or  drum  on  which  has been recorded the desired motions by a human
41700	being who put the robot through the desired operation.     The  exact
41800	same  motions  (to  the hundredth of an inch if the machinery is that
41900	accurate) are repeated each time.  The only variability is in  timing
42000	since  the  machine  can  be  instructed to wait after completing one
42100	operation until it receives a signal to perform the  next  operation.
42200	These signals may be generated by switches that detect that a part is
42300	in place for the operation to proceed.    The  applications  of  this
42400	kind  of  robot  are  somewhat  limited.  In the first place they are
42500	expensive enough so the tendency is to use them for  operations  that
42600	are  dangerous  such  as  putting  a  part  in  a press or a furnace.
42700	Secondly, it is often expensive or  impossible  to  arrange  for  the
42800	parts  to  be  so  precisely  made  and  so precisely placed that the
42900	operations required can be repeated exactly.  A human can pick  up  a
43000	part from anywhere on a belt and can often bend things that won't fit
43100	without it.  Nonetheless, there are many applications for which  this
43200	kind  of  first  level  robot  can  be  used, and many thousands will
43300	probably be installed in the U.S. in the 1970's.
43400	
43500		2.  The second stage robot involves a computer controlled arm
43600	with  a  television  camera for an eye.   The objects manipulated are
43700	simple and have flat faces.  The program can build a simple structure
43800	out of these objects.
43900	
44000		This  work  is  still  in  the laboratory.     Here are three
44100	examples of what has recently been  accomplished:     At  the  M.I.T.
44200	Artificial  Intelligence  Laboratory,  a  computer controlled arm has
44300	copied a structure made of blocks.      At  the  Stanford  University
44400	Artificial  Intelligence Laboratory, a program did a puzzle requiring
44500	that a tower of four blocks with specified colors  on  the  faces  be
44600	built.     At  the Hitachi Central Research Laboratory, a program has
44700	built a simple structure out of blocks working from a drawing  giving
44800	an orthographic projection of the desired structure.
44900	
45000		All  these  tasks  were  accomplished  in about the same way:
45100	First the program finds the edges of the objects in the  scene.    by
45200	scanning  the  array  of brightnesses of the picture it has read from
45300	the TV camera into the memory of the computer.     When  it  finds  a
45400	sudden  change  in  brightness,  it scans in a circle about the point
45500	looking  for  the  dark-to-light  transition.      If  it  finds  the
45600	transition,  it  takes  this point as the center of a new circle, and
45700	thus traces along the dark-to-light boundary.  In this way  it  finds
45800	all  the  edges  in  the  picture.     (Actually edge finding is more
45900	complicated than this, because not all edges are between  regions  of
46000	different  brightnesses;  in  some cases the edges themselves reflect
46100	the light.  Also there are shadows to be ignored if possible.)  After
46200	the  edges  are  found,  the program determines the three dimensional
46300	collection of objects that would give rise to this pattern of  edges.
46400	Some  of  the  objects  may  be  partly hidden behind others, and the
46500	program makes plausible assumptions about the hidden parts. Moreover,
46600	present  programs cannot deal with curved objects in any general way;
46700	either the objects must have all flat faces or each curved object  to
46800	be found must be explicitly programmed for.   Once the objects in the
46900	scene have been found, the computer determines  the  trajectories  of
47000	arm  motion  that will move them to the desired places. Generally the
47100	arm motion is done without visual feedback largely because  the  arms
47200	are  more  complicated  objects  than the present vision programs can
47300	handle.
47400	
47500		3.     Programs  are  being  developed  to  use  more  visual
47600	information  than  brightness  discontinuities.    This work includes
47700	color-contrast edges, edges determined by discontinuities in parallax
47800	that  occur when an object is seen against a background.  Another cue
47900	is the texture of regions.
48000	
48100		4. While these techniques will make edge detection and region
48200	finding  more  versatile,  they  don't  solve  the  basic  problem of
48300	representation of visual information.  An object with flat faces  can
48400	be  described  by  listing its faces, describing each face by listing
48500	its edges, and describing each edge by giving its endpoints. But  how
48600	are  we  to  describe  a human head?   The description must cover the
48700	subtleties of shape by which we tell  one  human  from  another,  but
48800	clearly  should  not describe each hair.  There are various ideas for
48900	dealing with this, mostly still too vague to be described  here,  but
49000	they  are  all  too limited in their potential capability.   Progress
49100	depends on a large new idea.
49200	
49300		5. As we have stated, vision is perhaps  the  most  immediate
49400	problem  in  robotics.     However,  even  when we have programs with
49500	reasonable vision and manipulation capabilities, we will still be far
49600	from  having  an intelligent machine. Suppose we want a robot capable
49700	of being a domestic servant.  Then we need to program  at  least  the
49800	following capabilities:
49900	
50000		a.   It must know the properties of physical objects, e.g. to
50100	put eggs in a paper bag, it  must  know  that  eggs  must  be  placed
50200	gently,  that  the paper bag can change its shape as it is opened and
50300	things are put in it. It  must  know  about  doors  and  drawers  and
50400	stairs.
50500	
50600		b.  It must know about people and what they want and how they
50700	change their minds.
50800	
50900		c. It must have some understanding of speech.
51000	
51100		d. It must know about how to divide tasks into subtasks.
51200	
51300		e. It must be able to  recognize  that  one  of  its  planned
51400	actions will have a harmful side-effect.
51500	
51600		f. It must know when to give up and whether to ask for help.
51700	
51800		g.    It must have at least a primitive ability to learn from
51900	experience, at least enough so that if it is shown how to do a  task,
52000	it will be able to do it again in similar circumstances.
52100	
52200		The  critical  reader will recognize that this list of what a
52300	robot must know is itself  incomplete  and  may  include  superficial
52400	items and leave out more basic ones.  This reflects the present state
52500	of our understanding of artificial intelligence.